//https://www.nowcoder.com/practice/eebb2983b7bf40408a1360efb33f9e5d?tpId=40&tqId=31013&rp=1&ru=/activity/oj&qru=/ta/kaoyan/question-ranking
//描述
//设计一个程序能计算一个日期加上若干天后是什么日期。
//输入描述：
//输入第一行表示样例个数m，接下来m行每行四个整数分别表示年月日和累加的天数。
//输出描述：
//输出m行，每行按yyyy-mm-dd的个数输出。

#include <climits>
#include <iostream>
using namespace std;

class Date
{
public:
    Date()
    {
        cin >> _year >> _month >> _day;
    }

    int GetMonthDay()
    {
        static const int monthDay[] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
        if(_month == 2)
        {
            if(_year % 400 == 0 || (_year % 4 == 0 && _year % 100 != 0))
            return 29;
            else
            return 28;
        }
        else
        return monthDay[_month];
    }

    void Print()
    {
        cout << _year / 1000 << (_year / 100) % 10 << (_year / 10) % 10 << _year % 10;
        cout << "-" << _month / 10 << _month % 10;
        cout << "-" << _day / 10 << _day % 10 << endl;
    }

    Date& operator+=(int gap)
    {
        gap += _day;
        while(gap > GetMonthDay())
        {
            gap -= GetMonthDay();
            _month++;
            if(_month == 13)
            {
                _month = 1;
                _year++;
            }
        }
        _day = gap;
        return (*this);
    }

private:
    int _year;
    int _month;
    int _day;
};

int main() {
    int m = 0;
    cin >> m;
    while(m--)
    {
        Date d;
        int gap = 0;
        cin >> gap;
        d += gap;
        d.Print();
    }
    return 0;
}